home *** CD-ROM | disk | FTP | other *** search
/ Clickx 115 / Clickx 115.iso / software / tools / windows / tails-i386-0.16.iso / live / filesystem.squashfs / usr / include / scribus-ng / tabpdfoptions.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-10-10  |  8.2 KB  |  328 lines

  1. /*
  2. For general Scribus (>=1.3.2) copyright and licensing information please refer
  3. to the COPYING file provided with the program. Following this notice may exist
  4. a copyright and/or license notice that predates the release of Scribus 1.3.2
  5. for which a new license (GPL+exception) is in place.
  6. */
  7. #ifndef TABPDF_OPTS_H
  8. #define TABPDF_OPTS_H
  9.  
  10. #include <QTabWidget>
  11. #include <QMap>
  12. #include <QList>
  13. class QGridLayout;
  14. class QHBoxLayout;
  15. class QVBoxLayout;
  16. class QGroupBox;
  17. class QCheckBox;
  18. class QComboBox;
  19. class QRadioButton;
  20. class QPushButton;
  21. class QToolButton;
  22. class QLineEdit;
  23. class QLabel;
  24. class QSpinBox;
  25. class QListWidget;
  26. class QListWidgetItem;
  27.  
  28. #include "scribusapi.h"
  29. #include "bookmwin.h"
  30.  
  31. class PDFOptions;
  32. class PDFExportDialog;
  33. class ScribusDoc;
  34. class ScrSpinBox;
  35.  
  36. class SCRIBUS_API TabPDFOptions : public QTabWidget
  37. {
  38.     Q_OBJECT
  39.  
  40. public:
  41.     TabPDFOptions(  QWidget* parent, PDFOptions & Optionen,
  42.                     const SCFonts &AllFonts,
  43.                     const ProfilesL & PDFXProfiles,
  44.                     const QMap<QString, int> & DocFonts,
  45.                     const QList<PDFPresentationData> & Eff,
  46.                     int unitIndex, double PageH, double PageB,
  47.                     ScribusDoc *mdoc = 0, bool exporting = false);
  48.     ~TabPDFOptions() {};
  49.  
  50.     void restoreDefaults(PDFOptions & Optionen,
  51.                          const SCFonts &AllFonts,
  52.                          const ProfilesL & PDFXProfiles,
  53.                          const QMap<QString, int> & DocFonts,
  54.                          const QList<PDFPresentationData> & Eff,
  55.                          int unitIndex, double PageH, double PageB,
  56.                          ScribusDoc *mdoc, bool exporting);
  57.  
  58.     void storeValues(PDFOptions& options);
  59.  
  60.     void unitChange(QString unit, int docUnitIndex, double invUnitConversion);
  61.  
  62.     // GUI member pointers
  63.     // Remember to initialize these in the initializer list of the ctor when
  64.     // you add new ones. Add them in the same order here and in the initalizer
  65.     // list. To help out, the members are sorted alphabetically by name.
  66.     QCheckBox* AddSec;
  67.     QCheckBox* Article;
  68.     ScrSpinBox* BleedBottom;
  69.     ScrSpinBox* BleedLeft;
  70.     ScrSpinBox* BleedRight;
  71.     ScrSpinBox* BleedTop;
  72.     QCheckBox* CheckBM;
  73.     QCheckBox* CheckBox1;
  74.     QComboBox* CMethod;
  75.     QCheckBox* ClipMarg;
  76.     QComboBox* ComboBind;
  77.     QCheckBox* Compression;
  78.     QRadioButton* continuousPages;
  79.     QCheckBox* CopySec;
  80.     QComboBox* CQuality;
  81.     QRadioButton* doublePageLeft;
  82.     QRadioButton* doublePageRight;
  83.     QCheckBox* DSColor;
  84.     QCheckBox* EmbedPDF;
  85.     QCheckBox* EmbedProfs;
  86.     QCheckBox* EmbedProfs2;
  87.     QCheckBox* Encry;
  88.     QComboBox* ImageP;
  89.     QComboBox* IntendI;
  90.     QComboBox* IntendS;
  91.     QToolButton* MirrorH;
  92.     QToolButton* MirrorV;
  93.     QCheckBox* ModifySec;
  94.     QCheckBox* NoEmbedded;
  95.     QComboBox* OutCombo;
  96.     QListWidget* Pages;
  97.     QLineEdit* PassOwner;
  98.     QLineEdit* PassUser;
  99.     QComboBox* PDFVersionCombo;
  100.     QComboBox* PrintProfC;
  101.     QCheckBox* PrintSec;
  102.     QSpinBox* Resolution;
  103.     QComboBox* RotateDeg;
  104.     QRadioButton* singlePage;
  105.     QComboBox* SolidPr;
  106.     QRadioButton* useBookmarks;
  107.     QRadioButton* useFullScreen;
  108.     QCheckBox* useLayers;
  109.     QRadioButton* useLayers2;
  110.     QCheckBox* UseLPI;
  111.     QCheckBox* useSpot;
  112.     QRadioButton* useThumbnails;
  113.     QSpinBox* ValC;  // == PicRes
  114.     // End GUI member pointers
  115.  
  116. signals:
  117.     void noInfo();
  118.     void hasInfo();
  119.  
  120. public slots:
  121.     void doDocBleeds();
  122.     void ToggleEncr();
  123.     void EnablePDFX(int a);
  124.     void DoDownsample();
  125.     void RemoveEmbed();
  126.     void PutToEmbed();
  127.     void RemoveOutline();
  128.     void PutToOutline();
  129.     void SelAFont(QListWidgetItem*);
  130.     void SelEFont(QListWidgetItem*);
  131.     void SelSFont(QListWidgetItem*);
  132.     void EmbedAll();
  133.     void OutlineAll();
  134.     void PagePr();
  135.     void SetPgEff();
  136.     void SetEffOpts(int nr);
  137.     void ValidDI(int nr);
  138.     void PDFMirror();
  139.     void Rotation(int value);
  140.     void DoEffects();
  141.     void EffectOnAll();
  142.     void SelRange(bool e);
  143.     void EnablePr(int a);
  144.     void EnablePG();
  145.     void EnablePGI();
  146.     void EnablePGI2();
  147.     void EnableLPI(int a);
  148.     void EnableLPI2();
  149.     void SelLPIcol(int);
  150.     void enableCMS(bool enable);
  151.     void checkInfo();
  152.  
  153. protected slots:
  154.     void createPageNumberRange();
  155.  
  156. protected:
  157.     // PDFExportDialog should really privately inherit from us, but it can't
  158.     // since it needs to be a dialog not a tab widget. Allow it access to
  159.     // protected and private members instead. If we ever clean up the direct
  160.     // widget access in this class, it might be able to privately inheirit and
  161.     // be added to a very thin dialog class instead.
  162.     friend class PDFExportDialog;
  163.     int PgSel;
  164.     QList<PDFPresentationData> EffVal;
  165.     QString SelLPIcolor;
  166.     QList<QString> FontsToEmbed;
  167.     QList<QString> FontsToOutline;
  168.  
  169.     // PDFExportDialog needs access to these GUI members
  170.     // but they don't need to be exposed to the rest of Scribus.
  171.     QComboBox* actionCombo;
  172.     QRadioButton* AllPages;
  173.     QCheckBox* CheckBox10;
  174.     QComboBox* EDirection;
  175.     QComboBox* EDirection_2;
  176.     QComboBox* EDirection_2_2;
  177.     QSpinBox* EffectTime;
  178.     QComboBox* EffectType;
  179.     QCheckBox* fitWindow;
  180.     QCheckBox* hideMenuBar;
  181.     QCheckBox* hideToolBar;
  182.     QLineEdit* InfoString;
  183.     QSpinBox* LPIangle;
  184.     QSpinBox* LPIfreq;
  185.     QComboBox* LPIfunc;
  186.     QLineEdit* PageNr;
  187.     QSpinBox* PageTime;
  188.  
  189. private:
  190.     // Private GUI member pointers, should not be used outside the class its
  191.     // self.  Please ry to keep members here genuinely private, ie don't use
  192.     // them even from friends. If you need to access it from a friend like
  193.     // PDFExportDialog please move it to the protected section.
  194.  
  195.     QLabel* actionLabel;
  196.     QListWidget* AvailFlist;
  197.     QGroupBox* BleedGroup;
  198.     QGridLayout* BleedGroupLayout;
  199.     QGroupBox* MarkGroup;
  200.     QGridLayout* MarkGroupLayout;
  201.     QCheckBox* cropMarks;
  202.     QCheckBox* bleedMarks;
  203.     QCheckBox* registrationMarks;
  204.     QCheckBox* colorMarks;
  205.     QCheckBox* docInfoMarks;
  206.     ScrSpinBox* markOffset;
  207.     QGroupBox* CBox;
  208.     QGridLayout* CBoxLayout;
  209.     QGroupBox* ColorGroup;
  210.     QHBoxLayout* ColorGroupLayout;
  211.     QLabel* ColorText1;
  212.     QGroupBox* Effects;
  213.     QGridLayout* EffectsLayout;
  214.     QPushButton* EmbedFonts;
  215.     QListWidget* EmbedList;
  216.     QPushButton* EonAllPg;
  217.     QPushButton* FromEmbed;
  218.     QPushButton* FromOutline;
  219.     QGroupBox* GroupBox1;
  220.     QGridLayout* GroupBox1Layout;
  221.     QGroupBox* GroupBox9;
  222.     QGridLayout* GroupBox9Layout;
  223.     QGroupBox* groupDisplay;
  224.     QVBoxLayout* groupDisplayLayout;
  225.     QGroupBox* GroupFont;
  226.     QHBoxLayout* GroupFontLayout;
  227.     QGroupBox* groupJava;
  228.     QHBoxLayout* groupJavaLayout;
  229.     QGroupBox* groupNavigation;
  230.     QVBoxLayout* groupNavigationLayout;
  231.     QGroupBox* GroupPass;
  232.     QGridLayout* GroupPassLayout;
  233.     QGroupBox* GroupSecSet;
  234.     QVBoxLayout* GroupSecSetLayout;
  235.     QGridLayout* Layout11;
  236.     QHBoxLayout *pageNumberSelectorLayout;
  237.     QGridLayout* Layout11a;
  238.     QHBoxLayout* Layout13;
  239.     QVBoxLayout* Layout4_2;
  240.     QVBoxLayout* Layout5_2;
  241.     QHBoxLayout* Layout5_2a;
  242.     QVBoxLayout* Layout6;
  243.     QHBoxLayout* LayoutSpecial;
  244.     QComboBox* LPIcolor;
  245.     QGroupBox* LPIgroup;
  246.     QGridLayout* LPIgroupLayout;
  247.     QRadioButton* OnlySome;
  248.     QGroupBox* pageLayout;
  249.     QVBoxLayout* pageLayoutLayout;
  250.     QCheckBox* PagePrev;
  251.     QLabel* PDFX1;
  252.     QLabel* PDFX2;
  253.     QCheckBox* PrintSec2;
  254.     QGroupBox* ProfsGroup;
  255.     QGridLayout* ProfsGroupLayout;
  256.     QLabel* ProfsTxt1;
  257.     QLabel* ProfsTxt2;
  258.     QLabel* ProfsTxt3;
  259.     QLabel* ProfsTxt4;
  260.     QLabel* BleedTxt1;
  261.     QLabel* BleedTxt2;
  262.     QLabel* BleedTxt3;
  263.     QLabel* BleedTxt4;
  264.     QLabel* MarkTxt1;
  265.     QCheckBox *docBleeds;
  266.     QGroupBox* RangeGroup;
  267.     QVBoxLayout* RangeGroupLayout;
  268.     QHBoxLayout* RotationLayout;
  269.     QPushButton* OutlineFonts;
  270.     QListWidget* OutlineList;
  271.     QWidget* tabColor;
  272.     QVBoxLayout* tabColorLayout;
  273.     QWidget* tabFonts;
  274.     QWidget* tabGeneral;
  275.     QVBoxLayout* tabLayout;
  276.     QVBoxLayout* tabLayout_3;
  277.     QGridLayout* tabLayout_5;
  278.     QWidget* tabPDFX;
  279.     QVBoxLayout* tabPDFXLayout;
  280.     QWidget* tabPresentation;
  281.     QWidget* tabSecurity;
  282.     QVBoxLayout* tabSecurityLayout;
  283.     QWidget* tabSpecial;
  284.     QVBoxLayout* tabSpecialLayout;
  285.     QLabel* TextCom1;
  286.     QLabel* TextCom2;
  287.     QLabel* TextFont1;
  288.     QLabel* TextFont1_2;
  289.     QLabel* TextFont1_2a;
  290.     QLabel* TextLabel1;
  291.     QLabel* TextLabel1e;
  292.     QLabel* TextLabel1x;
  293.     QLabel* TextLabel2;
  294.     QLabel* TextLabel2e;
  295.     QLabel* TextLabel3;
  296.     QLabel* TextLabel3e;
  297.     QLabel* TextLabel4e;
  298.     QLabel* TextLabel5e;
  299.     QLabel* TextLabel6e;
  300.     QLabel* textLPI1;
  301.     QLabel* textLPI2;
  302.     QLabel* textLPI3;
  303.     QLabel* TextSec1;
  304.     QLabel* TextSec2;
  305.     QPushButton* pageNrButton;
  306.     QPushButton* ToEmbed;
  307.     QPushButton* ToOutline;
  308.     QRadioButton* useViewDefault;
  309.     QGroupBox* X3Group;
  310.     QGridLayout* X3GroupLayout;
  311.     // end protected GUI member pointers
  312.  
  313.     // Non-GUI protected members
  314.     QString unit;
  315.     int precision;
  316.     double unitRatio;
  317.     bool pdfExport;
  318.     ScribusDoc* const doc;
  319.     const SCFonts & AllFonts;
  320.     PDFOptions & Opts;
  321.     double pageH;
  322.     double pageB;
  323.     bool cms;
  324.     QMap<QString, QString> AnnotationFonts;
  325.  
  326. };
  327. #endif
  328.